

package dao;

import entite.Utilisateur;
import java.util.List;
import javax.ejb.Local;


@Local
public interface UtilisateurFacadeLocal {

    /**
     * Méthode de création d'un utilisateur
     * @param utilisateur à créer
     */
    void create(Utilisateur utilisateur);

    /**
     * Méthode de modification d'un utilisateur
     * @param utilisateur à modifier
     * @return utilisateur modifié
     */
    Utilisateur edit(Utilisateur utilisateur);

    /**
     * Méthode de suppression d'un utilisateur
     * @param utilisateur à supprimer
     */
    void remove(Utilisateur utilisateur);

    /**
     * Méthode pour trouver un utilisateur
     * @param id : id à trouver
     * @return utilisateur trouvé
     */
    Utilisateur find(Object id);

    /**
     * Méthode pour extraire tous les utilisateurs
     * @return Liste de tous les utilisateurs
     */
    List<Utilisateur> findAll();

    /**
     * Méthode pour extraire la liste de tous les utilisateur en utilisant les indices
     * @param range : tableau d'indice
     * @return Liste des utilisateurs en utilisant les indices
     */
    List<Utilisateur> findRange(int[] range);

    /**
     * Méthode pour compter le nombre d'utilisateurs
     * @return nombre trouvé
     */
    int count();

}
